package ffprobe

import (
	"bytes"
	"fmt"
	"os"
	"os/exec"
	"path/filepath"
)

type VideoFileInfo struct {
	VideoFound    string
	VideoSize     string
	VideoFps      string
	VideoNframes  string
	VideoFuration string
	VideoTotation string
	AudioFound    string
	AudioFps      string
}

func (s *VideoFileInfo) ProcessVideoFileToInfo(filePath string) {
	// 获取当前工作目录
	cwd, err := os.Getwd()
	if err != nil {
		fmt.Println("获取当前工作目录失败:", err)
		return
	}
	// 要执行的命令，这里以“echo”命令为例
	exePath := filepath.Join(cwd, "ffprobe/ffprobe.exe")
	filePath = filepath.Join(cwd, filePath)
	println(exePath)
	println(exePath, " -i "+filePath)
	cmd := exec.Command(exePath, " -i "+filePath)

	// 创建一个Buffer来存储命令的输出
	var out bytes.Buffer

	// 将命令的标准输出重定向到这个Buffer
	cmd.Stdout = &out

	// 执行命令
	err = cmd.Run()
	if err != nil {
		// 如果执行命令出错，打印错误信息
		fmt.Println("执行命令时发生错误:", err)
	}

	// 打印命令的输出
	fmt.Println("命令的输出是:", out.String())
}
